.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px;
  background: #f5f5f5;
}

.musicDetailContent {
  min-height: 100vh;
  background: #f5f5f5;
  background-color: #fff;
  padding: 24px;

  .header {
    max-width: 1400px;
    margin: 0 auto 24px;
    padding: 0;
    background-color: #fff;

    .backButton {
      border: none;
      background-color: #fff;
      color: #666;
      font-size: 14px;
      height: 36px;
      padding: 0 16px;
      border-radius: 18px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
      transition: all 0.3s;
  
      &:hover {
        color: #1890ff;
        background: #fff;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      }
    }
  }

  .mainContent {
    max-width: 1400px;
    margin: 0 auto;
    background: #fff;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);

    // 横向布局
    &.horizontal {
      .coverSection {
        width: 100%;
        margin-bottom: 24px;

        .coverWrapper {
          width: 100%;
          height: 0;
          padding-bottom: 56.25%; // 16:9
          position: relative;
          border-radius: 8px;
          overflow: hidden;
          background: #f0f0f0;

          :global(.ant-image) {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
          }
        }
      }

      .infoSection {
        .title {
          text-align: left;
          margin-bottom: 24px;
        }
      }
    }

    // 纵向布局
    &.vertical {
      display: flex;
      gap: 32px;
      align-items: stretch;

      .coverSection {
        flex: 0 0 400px;
        display: flex;
        flex-direction: column;

        .coverWrapper {
          flex: 1;
          position: relative;
          border-radius: 8px;
          overflow: hidden;
          background: #f0f0f0;
          min-height: 533px; // 4:3 ratio for 400px width

          :global(.ant-image) {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
          }
        }
      }

      .infoSection {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
      }
    }

    .cover {
      position: absolute !important;
      top: 0;
      left: 0;
      width: 100% !important;
      height: 100% !important;
      object-fit: contain;
      background: #f0f0f0;
    }

    .defaultCover {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 48px;
      font-weight: 600;
      color: #fff;
    }

    .infoSection {
      .title {
        font-size: 24px;
        font-weight: 600;
        color: #262626;
        margin: 0 0 24px;
        line-height: 1.4;
      }

      .basicInfo {
        margin-bottom: 24px;
        background: #fafafa;
        padding: 20px;
        border-radius: 8px;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 16px;

        .infoItem {
          display: flex;
          align-items: center;
          gap: 8px;
          min-width: 0;

          .icon {
            font-size: 16px;
            color: #1890ff;
            flex-shrink: 0;
            margin-top: 2px;
          }

          .label {
            color: #666;
            font-size: 14px;
            flex-shrink: 0;
            margin-top: 2px;
          }

          .value {
            color: #262626;
            font-size: 14px;
            flex: 1;
            min-width: 0;
            word-break: break-all;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 4px;
            
            :global(.ant-tag) {
              margin: 0;
              line-height: 20px;
            }
          }
        }
      }

      .description {
        margin-bottom: 24px;
        background: #fafafa;
        padding: 20px;
        border-radius: 8px;
        min-width: 0;

        .sectionTitle {
          font-size: 16px;
          font-weight: 600;
          color: #262626;
          margin-bottom: 16px;
          display: flex;
          align-items: center;
          gap: 8px;

          &::before {
            content: '';
            width: 3px;
            height: 16px;
            background: #1890ff;
            border-radius: 1.5px;
          }
        }

        .content {
          color: #595959;
          line-height: 1.8;
          font-size: 14px;
          white-space: pre-wrap;
          word-break: break-all;
          min-width: 0;
        }
      }

      .sourceSection {
        background: #fafafa;
        padding: 20px;
        border-radius: 8px;
        margin-top: auto;

        .sectionTitle {
          font-size: 16px;
          font-weight: 600;
          color: #262626;
          margin-bottom: 16px;
          display: flex;
          align-items: center;
          gap: 8px;

          &::before {
            content: '';
            width: 3px;
            height: 16px;
            background: #1890ff;
            border-radius: 1.5px;
          }
        }

        .sourceList {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
          gap: 12px;

          .sourceItem {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 16px;
            background: #fff;
            border-radius: 6px;
            transition: all 0.3s;

            &:hover {
              background: #f6f6f6;
            }

            .sourceName {
              color: #262626;
              font-size: 14px;
            }
          }
        }

        .emptyTip {
          color: #999;
          font-size: 14px;
          text-align: center;
          padding: 32px 0;
        }
      }
    }
  }
}

.loading {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

// 移动端适配
@media screen and (max-width: 768px) {
  .musicDetailContent {
    padding: 16px;

    .mainContent {
      padding: 16px;

      &.vertical {
        flex-direction: column;
        gap: 24px;

        .coverSection {
          width: 100%;
          flex: none;

          .coverWrapper {
            padding-bottom: 133.33%; // 4:3
            min-height: unset;
          }
        }
      }

      &.horizontal {
        .coverSection {
          .coverWrapper {
            padding-bottom: 56.25%; // 16:9
          }
        }
      }

      .infoSection {
        .title {
          font-size: 20px;
          margin-bottom: 20px;
        }

        .basicInfo {
          grid-template-columns: 1fr;
          gap: 12px;
          padding: 16px;
        }

        .description, .sourceSection {
          padding: 16px;
        }

        .sourceList {
          grid-template-columns: 1fr;
        }
      }
    }
  }
} 